package cn.com.bluemoon.daps.model.utils.factory;

import cn.com.bluemoon.daps.model.dto.ModelTableInfoDto;
import cn.com.bluemoon.daps.model.dto.SubordinateKeyDto;
import cn.com.bluemoon.daps.model.entity.DapDataModelSubordinateKey;
import cn.com.bluemoon.daps.model.entity.DapDataModelTableField;
import cn.com.bluemoon.daps.model.entity.DapDataModelTablePartition;

import java.util.List;
import java.util.Map;

/**
 * @author karry
 * @Data 2021/9/7
 * @Time:10:23
 */
public interface KeyScriptFactory {

    // 创建脚本
    String createKeyScript(List<SubordinateKeyDto> keys);

    // 新增脚本
    void addKeyScript(List<DapDataModelSubordinateKey> keyList, List<DapDataModelTableField> fields,
                        String schema, String tableName, Map<String, String> map);

    // 修改脚本
    String modifyKeyScript();

    // 删除脚本
    void deleteKeyScript(List<DapDataModelSubordinateKey> keyList, String tableName, Map<String, String> map);
}
